﻿using System;
using System.Configuration;
using System.Linq;

namespace DinheiroSobControle.Dominio
{
    public static class Extrato
    {
        public static decimal ObtenhaSaldo(DateTime time, DateTime now)
        {
            if (now.Date.Subtract(time.Date) <= TimeSpan.Zero)
                throw new ArgumentOutOfRangeException();

            var repo = DominioDataContext.Instancia;

            var itens = (repo.MovimentacaoFinanceiraDataSource.
                Where(movimentacao => movimentacao.Data >= time && movimentacao.Data <= now)).Select(x=> x).ToList();

            decimal saldo = (repo.MovimentacaoFinanceiraDataSource.
                                Where(movimentacao => movimentacao.Data >= time && movimentacao.Data <= now)).
                                Sum(mov => mov.Valor);

            return saldo;
        }
    }
}